package com.vimi8.ebb.auth.dto;

import java.util.Objects;
import com.fasterxml.jackson.annotation.JsonProperty;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
 * 签名信息信息.
 */
@ApiModel(description = "签名信息信息.")
@javax.annotation.Generated(value = "class io.swagger.codegen.languages.SpringCodegen", date = "2016-11-16T02:04:07.457Z")

public class SignatureDto   {
  @JsonProperty("accessid")
  private String accessid = null;

  @JsonProperty("policy")
  private String policy = null;

  @JsonProperty("signature")
  private String signature = null;

  @JsonProperty("dir")
  private String dir = null;

  @JsonProperty("host")
  private String host = null;

  @JsonProperty("expire")
  private String expire = null;

  public SignatureDto accessid(String accessid) {
    this.accessid = accessid;
    return this;
  }

   /**
   * 客服端id.
   * @return accessid
  **/
  @ApiModelProperty(value = "客服端id.")
  public String getAccessid() {
    return accessid;
  }

  public void setAccessid(String accessid) {
    this.accessid = accessid;
  }

  public SignatureDto policy(String policy) {
    this.policy = policy;
    return this;
  }

   /**
   * encodedPolicy.
   * @return policy
  **/
  @ApiModelProperty(value = "encodedPolicy.")
  public String getPolicy() {
    return policy;
  }

  public void setPolicy(String policy) {
    this.policy = policy;
  }

  public SignatureDto signature(String signature) {
    this.signature = signature;
    return this;
  }

   /**
   * 签名信息.
   * @return signature
  **/
  @ApiModelProperty(value = "签名信息.")
  public String getSignature() {
    return signature;
  }

  public void setSignature(String signature) {
    this.signature = signature;
  }

  public SignatureDto dir(String dir) {
    this.dir = dir;
    return this;
  }

   /**
   * 上传目录.
   * @return dir
  **/
  @ApiModelProperty(value = "上传目录.")
  public String getDir() {
    return dir;
  }

  public void setDir(String dir) {
    this.dir = dir;
  }

  public SignatureDto host(String host) {
    this.host = host;
    return this;
  }

   /**
   * 上传host.
   * @return host
  **/
  @ApiModelProperty(value = "上传host.")
  public String getHost() {
    return host;
  }

  public void setHost(String host) {
    this.host = host;
  }

  public SignatureDto expire(String expire) {
    this.expire = expire;
    return this;
  }

   /**
   * 过期时间.
   * @return expire
  **/
  @ApiModelProperty(value = "过期时间.")
  public String getExpire() {
    return expire;
  }

  public void setExpire(String expire) {
    this.expire = expire;
  }


  @Override
  public boolean equals(Object o) {
    if (this == o) {
      return true;
    }
    if (o == null || getClass() != o.getClass()) {
      return false;
    }
    SignatureDto signatureDto = (SignatureDto) o;
    return Objects.equals(this.accessid, signatureDto.accessid) &&
        Objects.equals(this.policy, signatureDto.policy) &&
        Objects.equals(this.signature, signatureDto.signature) &&
        Objects.equals(this.dir, signatureDto.dir) &&
        Objects.equals(this.host, signatureDto.host) &&
        Objects.equals(this.expire, signatureDto.expire);
  }

  @Override
  public int hashCode() {
    return Objects.hash(accessid, policy, signature, dir, host, expire);
  }

  @Override
  public String toString() {
    StringBuilder sb = new StringBuilder();
    sb.append("class SignatureDto {\n");
    
    sb.append("    accessid: ").append(toIndentedString(accessid)).append("\n");
    sb.append("    policy: ").append(toIndentedString(policy)).append("\n");
    sb.append("    signature: ").append(toIndentedString(signature)).append("\n");
    sb.append("    dir: ").append(toIndentedString(dir)).append("\n");
    sb.append("    host: ").append(toIndentedString(host)).append("\n");
    sb.append("    expire: ").append(toIndentedString(expire)).append("\n");
    sb.append("}");
    return sb.toString();
  }

  /**
   * Convert the given object to string with each line indented by 4 spaces
   * (except the first line).
   */
  private String toIndentedString(Object o) {
    if (o == null) {
      return "null";
    }
    return o.toString().replace("\n", "\n    ");
  }
}

